#pragma once

#include <rpc/rpc.h>

#ifdef __cplusplus
extern "C" {
#endif

struct package {
	int token;
	char data[128];
	int length;
};
typedef struct package package;

#define WS_PROG 32700011
#define WS_VERSION 1

#define PACKSIZE 128

#if defined(__STDC__) || defined(__cplusplus)
#define START_SENDING 1
extern  int * start_sending_1(void *, CLIENT *);
extern  int * start_sending_1_svc(void *, struct svc_req *);
#define SEND 2
extern  int * send_1(package *, CLIENT *);
extern  int * send_1_svc(package *, struct svc_req *);
#define END_SENDING 3
extern  int * end_sending_1(int *, CLIENT *);
extern  int * end_sending_1_svc(int *, struct svc_req *);
#define READY_PACK 4
extern  int * ready_pack_1(int *, CLIENT *);
extern  int * ready_pack_1_svc(int *, struct svc_req *);
#define RESIVE 5
extern  package * resive_1(int *, CLIENT *);
extern  package * resive_1_svc(int *, struct svc_req *);
extern int ws_prog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t);

#else /* K&R C */
#define START_SENDING 1
extern  int * start_sending_1();
extern  int * start_sending_1_svc();
#define SEND 2
extern  int * send_1();
extern  int * send_1_svc();
#define END_SENDING 3
extern  int * end_sending_1();
extern  int * end_sending_1_svc();
#define READY_PACK 4
extern  int * ready_pack_1();
extern  int * ready_pack_1_svc();
#define RESIVE 5
extern  package * resive_1();
extern  package * resive_1_svc();
extern int ws_prog_1_freeresult ();
#endif /* K&R C */

/* the xdr functions */

#if defined(__STDC__) || defined(__cplusplus)
extern  bool_t xdr_package (XDR *, package*);

#else /* K&R C */
extern bool_t xdr_package ();

#endif /* K&R C */

#ifdef __cplusplus
}
#endif
